Today, more than ever, the success of an organization depends largely on the ability of its members to act on information. With the advent and proliferation of computer technology, information is typically maintained in electronic documents, which constitute disconnected islands of information. However, it may be desirable for an author or a reader of the document to be able to view information related to the content of a document but not contained in the document itself.
By way of one example, different users may be interested in different related data. For example, in the case of a document about a book, a librarian may wish to see information regarding the shelf where the book is stored, whereas a publishing company may wish to see information about when that book started selling in paperback. If all of the data is included in the document, everyone would see the same data.
By way of another example, if the related information is quickly changing (for example, stock quotes), it may be preferable that the document contain only the unchanging information, such as the name and address of the company, and the quickly changing related information be maintained outside of the document and obtained only when requested, for example, by a user interested in the stock quote information. This avoids the problems related to duplication of information such as synchronization, storage space, etc.
Hierarchical data structures are one type or subclass of such documents. In a typical hierarchical data structure, such as an Extensible Markup Language (XML) document, the information is commonly organized in a hierarchical manner, which refers to an organization that is in the shape of a pyramid, where, starting from a “root,” each row of object(s) is linked to objects directly beneath it. Given such a document and a current selection within the document, it is desirable to obtain and view information related to the current selection within the document, where the information is not contained within the document itself.
A hard coded reference is one technology that enables an author or a reader of a document to view information related to the content of a document but not contained in the document itself. For example, in a hypertext document, a reference is a link—e.g., hyperlink—from some object in the hypertext document to some point in another document or in the same document. These references are particularly useful for organizing large amounts of information, both inside and outside the document. A major drawback to using these references is that they are hard coded within the document, which requires intimate knowledge of the data/information that is being linked. For example, to provide a proper reference within a document to data outside of the document, the exact location of the data outside of the document is needed. If the location of this data changes, the hard coded reference in the document also must be changed to reflect the changed location.
Accordingly, a technique for obtaining and viewing information related to the hierarchy of nodes within a hierarchical data structure that contain a current selection without requiring intimate knowledge of the related information will have significant utility.